package cn.wang.web.job;

import cn.wang.entity.cargo.Contract;
import cn.wang.service.cargo.ContractService;
import cn.wang.service.sysadmin.UserService;
import cn.wang.utils.MailUtils;
import org.hibernate.validator.constraints.Email;
import org.springframework.beans.factory.annotation.Autowired;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

/**
 * Created by john on 2017/11/13.
 * 当指定的交期到时，给相关人员发送一封邮件进行提醒，需要与工厂进行联系
 * 定时查询库存预警信息，如果存在库存预警信息，发送邮件通知给相关工作人员
 */
public class MailJob {
    @Autowired
    private ContractService contractService;
    @Autowired
    private UserService userservice;

    public void sendMail() {

        // System.out.println("sending mail..." + new Date());
        //查询当前日期
        String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
        //根据交船日期查询 返回list
        List<Contract> contractList = contractService.findBydeliveryPeriod(date);
        for (Contract c : contractList) {
            //查询创建人
            String userid = c.getCreateBy();
            //根据id查询出邮箱 发邮箱
            String email = userservice.findById(userid).getUserInfo().getEmail();
            if (email != null) {
                MailUtils.sendMail(email, "提示:交货日期到了", c.getContractNo() + "交货日期到了");

            }
        }

        //根据当前日期到数据库查询相关数据


    }
}
